// Copyright (c) 2022, the Dart project authors.
// BSD-style license that can be found in the LICENSE file.

import 'package:flutter_test/flutter_test.dart';

import '../../test/global_env_test.dart' as global_env_test;
import '../../test/exception_test.dart' as exception_test;
import '../../test/boxed_test.dart' as boxed_test;
import '../../test/type_test.dart' as type_test;
import '../../test/load_test.dart' as load_test;
import '../../test/isolate_test.dart' as isolate_test;
import '../../test/arkobject_test.dart' as arkobject_test;
import '../../test/arkstring_test.dart' as arkstring_test;
import '../../test/arkbyte_buffer_test.dart' as arkbyte_buffer_test;
import '../../test/arkcollections_test.dart' as arkcollections_test;
import '../../test/arkreference_test.dart' as arkreference_test;

void integrationTestRunner(String description, void Function() testCallback,
    {Object? skip}) {
  testWidgets(description, (_) async => testCallback(),
      skip: skip != null && skip != false);
}

void main() {
  final testSuites = [
    global_env_test.main,
    exception_test.main,
    boxed_test.main,
    type_test.main,
    load_test.main,
    isolate_test.main,
    arkobject_test.main,
    arkstring_test.main,
    arkbyte_buffer_test.main,
    arkcollections_test.main,
    arkreference_test.main,
  ];
  for (var suite in testSuites) {
    suite();
  }
}
